home *** CD-ROM | disk | FTP | other *** search
- #! /usr/dt/bin/dtksh
- #
- # CallDataTest4
- #
- # Copyright 2000, Silicon Graphics, Inc.
- # ALL RIGHTS RESERVED
- #
- # UNPUBLISHED -- Rights reserved under the copyright laws of the United
- # States. Use of a copyright notice is precautionary only and does not
- # imply publication or disclosure.
- #
- # U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
- # Use, duplication or disclosure by the Government is subject to restrictions
- # as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
- # in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
- # in similar or successor clauses in the FAR, or the DOD or NASA FAR
- # Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
- # 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
- #
- # THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
- # INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
- # DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
- # PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
- # GRAPHICS, INC.
- #
-
- ##########################################################################
- # (c) Copyright 1993, 1994 Hewlett-Packard Company
- # (c) Copyright 1993, 1994 International Business Machines Corp.
- # (c) Copyright 1993, 1994 Sun Microsystems, Inc.
- # (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
- # Novell, Inc.
- ##########################################################################
-
-
- #
- # This sample shell script demonstrates how the CB_WIDGET and CB_CALL_DATA
- # convenience environment variables can be referenced within a callback
- # function.
- #
-
- # PushButton Callback: Forces the scale to reset to the origin
- ResetScale()
- {
- XmScaleSetValue $SCALE 0
- }
-
- # PushButton Callback: Forces the scale to its minimum value
- SetScaleMin()
- {
- XmScaleSetValue $SCALE -200
- }
-
- # PushButton Callback: Forces the scale to its maximum value
- SetScaleMax()
- {
- XmScaleSetValue $SCALE 200
-
- echo "CB Widget = "$CB_WIDGET
- echo "CallData = "$CB_CALL_DATA
- echo "CallData.Reason = "${CB_CALL_DATA.REASON}
- echo "CallData.Event = "${CB_CALL_DATA.EVENT}
- echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
- echo "CallData.Event.Xbutton.Type = "${CB_CALL_DATA.EVENT.XBUTTON.TYPE}
- echo "CallData.Event.Xbutton.Serial = "${CB_CALL_DATA.EVENT.XBUTTON.SERIAL}
- echo "CallData.Event.Xbutton.Send_Event = "${CB_CALL_DATA.EVENT.XBUTTON.SEND_EVENT}
- echo "CallData.Event.Xbutton.Display = "${CB_CALL_DATA.EVENT.XBUTTON.DISPLAY}
- echo "CallData.Event.Xbutton.Window = "${CB_CALL_DATA.EVENT.XBUTTON.WINDOW}
- echo "CallData.Event.Xbutton.Root = "${CB_CALL_DATA.EVENT.XBUTTON.ROOT}
- echo "CallData.Event.Xbutton.Subwindow = "${CB_CALL_DATA.EVENT.XBUTTON.SUBWINDOW}
- echo "CallData.Event.Xbutton.Time = "${CB_CALL_DATA.EVENT.XBUTTON.TIME}
- echo "CallData.Event.Xbutton.X = "${CB_CALL_DATA.EVENT.XBUTTON.X}
- echo "CallData.Event.Xbutton.Y = "${CB_CALL_DATA.EVENT.XBUTTON.Y}
- echo "CallData.Event.Xbutton.X_root = "${CB_CALL_DATA.EVENT.XBUTTON.X_ROOT}
- echo "CallData.Event.Xbutton.Y_root = "${CB_CALL_DATA.EVENT.XBUTTON.Y_ROOT}
- echo "CallData.Event.Xbutton.State = "${CB_CALL_DATA.EVENT.XBUTTON.STATE}
- echo "CallData.Event.Xbutton.Button = "${CB_CALL_DATA.EVENT.XBUTTON.BUTTON}
- echo "CallData.Event.Xbutton.Same_Screen = "${CB_CALL_DATA.EVENT.XBUTTON.SAME_SCREEN}
- echo
- }
-
-
- # Scale Callback: Invoked when the user interactively modified the scale value
- ScaleValueChanged()
- {
- XmScaleGetValue $CB_WIDGET VALUE
-
- echo "New Scale Value = "$VALUE
- echo "CB Widget = "$CB_WIDGET
- echo "CallData = "$CB_CALL_DATA
- echo "CallData.Value = "${CB_CALL_DATA.VALUE}
- echo "CallData.Event = "${CB_CALL_DATA.EVENT}
- echo "CallData.Event.Xany.Type = "${CB_CALL_DATA.EVENT.XANY.TYPE}
- echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
- echo "CallData.Reason = "${CB_CALL_DATA.REASON}
- echo
- }
-
- ######################### Create the Main UI #################################
-
- XtInitialize TOPLEVEL command1 Command1 "$0" "$@"
-
- XtCreateManagedWidget FORM form XmForm $TOPLEVEL
-
- XtCreateManagedWidget SCALE scale XmScale $FORM \
- showValue:True \
- orientation:HORIZONTAL \
- maximum:200 \
- minimum:-200 \
- topAttachment:ATTACH_FORM \
- topOffset:10 \
- leftAttachment:ATTACH_FORM \
- leftOffset:10 \
- rightAttachment:ATTACH_FORM \
- rightOffset:10
- XtAddCallback $SCALE valueChangedCallback ScaleValueChanged
-
- XtCreateManagedWidget SEP sep XmSeparator $FORM \
- topAttachment:ATTACH_WIDGET \
- topWidget:$SCALE \
- topOffset:10 \
- leftAttachment:ATTACH_FORM \
- rightAttachment:ATTACH_FORM
-
- XtCreateManagedWidget PB pb XmPushButton $FORM \
- labelString:"Reset Scale" \
- topAttachment:ATTACH_WIDGET \
- topOffset:10 \
- topWidget:$SEP \
- bottomAttachment:ATTACH_FORM \
- bottomOffset:10 \
- leftAttachment:ATTACH_POSITION \
- leftPosition:10 \
- rightAttachment:ATTACH_POSITION \
- rightPosition:30
- XtAddCallback $PB activateCallback ResetScale
-
- XtCreateManagedWidget PB2 pb XmPushButton $FORM \
- labelString:"Set Scale Max" \
- topAttachment:ATTACH_WIDGET \
- topOffset:10 \
- topWidget:$SEP \
- bottomAttachment:ATTACH_FORM \
- bottomOffset:10 \
- leftAttachment:ATTACH_POSITION \
- leftPosition:40 \
- rightAttachment:ATTACH_POSITION \
- rightPosition:60
- XtAddCallback $PB2 activateCallback SetScaleMax
-
- XtCreateManagedWidget PB3 pb XmPushButton $FORM \
- labelString:"Set Scale Min" \
- topAttachment:ATTACH_WIDGET \
- topOffset:10 \
- topWidget:$SEP \
- bottomAttachment:ATTACH_FORM \
- bottomOffset:10 \
- leftAttachment:ATTACH_POSITION \
- leftPosition:70 \
- rightAttachment:ATTACH_POSITION \
- rightPosition:90
- XtAddCallback $PB3 activateCallback SetScaleMin
-
- XtRealizeWidget $TOPLEVEL
-
- XtMainLoop
-